#ifndef _SINGLETON_CPP_
#define _SINGLETON_CPP_

#include <memory>

class Singleton
{
public:
	static Singleton *getInstance();
private:

	Singleton();
	~Singleton();

	Singleton( const Singleton & );
	Singleton & operator=( const Singleton & );
private:
	static std::auto_ptr< Singleton > m_auto_ptr;
	friend class std::auto_ptr< Singleton >;
};

#endif
